package org.uc3m.ed.tad.lista;

/**
 * Implementacion de una cola. La cola se basa en una lista enlazada.
 * 
 * @author DEI - ED
 * @version 1.0
 */
public class Cola<E> implements ICola<E> {

	/** 
	 * <B>DELEGACION</B>
	 * 
	 * <br>
	 * 
	 * Lista utilizada para representar la cola. 
	 * 
	 * @see ListaEnlazada<E>
	 */
	private ListaEnlazada<E> _lista;
	
	/**
	 * Crea una cola.
	 */
	public Cola() {
		_lista = new ListaEnlazada<E>();
	}	
	
	/*
	 * (non-Javadoc)
	 * @see org.uc3m.ed.tad.lista.Cola#estaVacia()
	 */
	public boolean estaVacia() {
		return _lista.estaVacia();
	}	

	/*
	 * (non-Javadoc)
	 * @see org.uc3m.ed.tad.lista.Cola#anyadir(java.lang.Object)
	 */
	public boolean anyadir(E elemento) {
		return _lista.anyadir(elemento);
	}

	/*
	 * (non-Javadoc)
	 * @see org.uc3m.ed.tad.lista.Cola#extraer()
	 */
	public E extraer() {
		return _lista.extraerCabeza();
	}

	/*
	 * (non-Javadoc)
	 * @see org.uc3m.ed.tad.lista.Cola#recuperar()
	 */
	public E recuperar() {
		return _lista.recuperarCabeza();
	}
}
